#include "../include/test_framework.h"

int main(int argc, char *argv[]) {
    int result = 0;
    
    printf("=======================================\n");
    printf("  AI Glass Linux 测试框架 v1.0.0\n");
    printf("  基于多线程架构的命令测试系统\n");
    printf("=======================================\n");
    
    // 检查命令行参数
    if (argc > 1) {
        if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0) {
            printf("\n使用方法:\n");
            printf("  %s              # 启动交互模式\n", argv[0]);
            printf("  %s --help       # 显示此帮助信息\n", argv[0]);
            printf("  %s --version    # 显示版本信息\n", argv[0]);
            printf("\n交互模式命令:\n");
            printf("  AT+AIGLASSPHOTO   # 拍照测试\n");
            printf("  AT+AIGLASSRECORD  # 录像测试\n");
            printf("  AT+AIGLASSRTSP    # RTSP流测试\n");
            printf("  AT+AIGLASSWIFI    # WiFi连接测试\n");
            printf("  AT+AIGLASSOTA     # OTA升级测试\n");
            printf("  AT+STATUS         # 查看系统状态\n");
            printf("  AT+HELP           # 帮助信息\n");
            printf("  AT+EXIT           # 退出程序\n");
            printf("\n特性:\n");
            printf("  - 多线程并行处理，不阻塞Linux系统命令\n");
            printf("  - 命令队列缓冲，支持批量测试\n");
            printf("  - 实时状态监控和日志记录\n");
            printf("  - 模拟AI Glass硬件测试流程\n");
            return 0;
        }
        
        if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-v") == 0) {
            printf("\nAI Glass Linux 测试框架 v1.0.0\n");
            printf("编译时间: %s %s\n", __DATE__, __TIME__);
            printf("支持平台: Linux x86_64\n");
            printf("作者: AI Glass Development Team\n");
            return 0;
        }
    }
    
    // 初始化测试框架
    if (test_framework_init() != 0) {
        fprintf(stderr, "测试框架初始化失败\n");
        return 1;
    }
    
    // 启动测试框架
    if (test_framework_start() != 0) {
        fprintf(stderr, "测试框架启动失败\n");
        test_framework_cleanup();
        return 1;
    }
    
    // 主循环 - 等待框架运行结束
    while (g_test_framework.running) {
        sleep(1);
    }
    
    // 清理测试框架
    test_framework_cleanup();
    
    printf("\n感谢使用 AI Glass Linux 测试框架！\n");
    return result;
}